// META: title=Encoding API: TextDecoder decode() optional arguments

// Copy of textdecoder-arguments.any.js with `{ stream: true }` tests commented out

test(t => {
    const decoder = new TextDecoder();

    // Just passing nothing.
    assert_equals(
        decoder.decode(undefined), '',
        'Undefined as first arg should decode to empty string');

    // Flushing an incomplete sequence.
    // decoder.decode(new Uint8Array([0xc9]), { stream: true });
    // assert_equals(
    //     decoder.decode(undefined), '\uFFFD',
    //     'Undefined as first arg should flush the stream');

}, 'TextDecoder decode() with explicit undefined');

test(t => {
    const decoder = new TextDecoder();

    // Just passing nothing.
    assert_equals(
        decoder.decode(undefined, undefined), '',
        'Undefined as first arg should decode to empty string');

    // Flushing an incomplete sequence.
    // decoder.decode(new Uint8Array([0xc9]), { stream: true });
    // assert_equals(
    //     decoder.decode(undefined, undefined), '\uFFFD',
    //     'Undefined as first arg should flush the stream');

}, 'TextDecoder decode() with undefined and undefined');

test(t => {
    const decoder = new TextDecoder();

    // Just passing nothing.
    assert_equals(
        decoder.decode(undefined, {}), '',
        'Undefined as first arg should decode to empty string');

    // Flushing an incomplete sequence.
    // decoder.decode(new Uint8Array([0xc9]), { stream: true });
    // assert_equals(
    //     decoder.decode(undefined, {}), '\uFFFD',
    //     'Undefined as first arg should flush the stream');

}, 'TextDecoder decode() with undefined and options');
